1. Field
The present invention relates to the technical field of reusable assets, and particularly to an asset packaging and consumption method and system.
2. Description of the Related Art
Consuming reusable assets can make an enterprise better able to respond to fast changing markets and business processes. From the business perspective, reusable assets enable fast assembly of business solutions, and shorten the time-to-market. From the IT perspective, reusable assets can automate and integrate business processes, significantly reduce the complexity of the development of large-scale projects, enable greater flexibility, and accelerate the delivery of solutions—thus delivering real value to the business.
The Reusable Asset Specification 2.2 promulgated by the Object Management Group (OMG) on Nov. 11, 2005 defines a standard way of packaging reusable software assets. The specification defines the structure, content and description of a reusable software asset, aiming to decrease attrition in reusing assets and enhance the reusability of assets through consistent and standard packaging.
At present, several tool vendors have implemented the currently released RAS XML schema in their tools.
For example, some common asset management products complying with RAS 2.2 consist of three major parts: an asset repository, web clients and rich clients (eclipse). They support asset search, packaging, consuming, and full life cycle management. To consume an asset means to download the asset, and get the artifacts. Although the guide as to how to use the artifacts may also be packaged into the asset, the user is still required to read the guide and manually perform the consuming steps.
The OSTNet's product AMS also complies with RAS 2.2. It consists of three major parts: AMS CodeCrawler, AMS FindIT, and AMS Registry. AMS CodeCrawler provides asset analysis functions, like finding dependency, duplicate code, etc. As to asset consumption, it also means only to obtain the asset.
BEA AquaLogic Enterprise Repository (Flush Line) complies with RAS 2.2. It includes a repository, and provides categories of assets. As for asset packaging, this is done manually; and as for asset consumption, there is no further support other than downloading an asset from the repository.
LogicLibrary's RAS supported product is Logicdex. To consume an asset in this tool also means to download the asset.
In current reusable asset solutions as described above, there is no association between asset packaging and asset consumption. That is, during packaging, only a set of artifact files and manifest file are packaged into the asset package, without the consumption operational steps of the asset and the contexts and variable parameters thereof also being packaged into the asset package, and as such, during consuming the asset, after simple downloading and copying, complex manual customization is needed, and automation of consumption operations cannot be achieved. Although it is possible to package a document for guiding the user's consumption operations into the asset package, the user is still required to read the document during consuming the asset and manually perform various consumption operational steps. In fact, a same reusable asset usually cannot completely apply to different contexts (clients, countries, business fields, etc). And today's software solutions are usually one-off. Even a so-called “standard” software solution typically comes from the instance of an actual development project, with no one defining how the software solution can vary according to different contexts. Therefore, in most cases, after the user obtains the asset, complex modifications need to be made manually during the assembling process. And for some asset types, the user needs to perform repetitive steps to generate further solutions. Such a manual method is not only inefficient, but also error prone, thus decreasing the potential benefits of reusable asset-based development.
Further, although it can be contemplated to package the execution code of consumption operations into the asset, so that during consumption the asset can be consumed automatically by executing the code, this requires the asset packager to write the execution code of consumption operations for each asset packaging, not only bringing about heavy development workload, but also lowering the asset reusability.